FROM python:3.9.18-bookworm

# PATH="/root/.local/bin:$PATH"         Добавляет в PATH путь к poetry
# PIP_DISABLE_PIP_VERSION_CHECK=1       Отключение предупреждений о наличии обновлений pip
# PIP_NO_CACHE_DIR=1                    Отключение кэширования wheel-файлов
# PIPX_VERSION=xxx                      Явное указание на версию pipx для гарантированной совместимости
# POETRY_VERSION=xxx                    Явное указание на версию poetry
# PYTHONDONTWRITEBYTECODE=1             Отключение записи байт-кода - если процесс запускается лишь единожды после
#                                       запуска контейнера - то зачем нужны файлы .pyc
# PYTHONUNBUFFERED=1                    Отключение буферизации вывода Python
ENV PATH="/root/.local/bin:$PATH" \
    PIP_DISABLE_PIP_VERSION_CHECK=1 \
    PIP_NO_CACHE_DIR=1 \
    PIPX_VERSION=1.4.2 \
    POETRY_VERSION=1.7.1 \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

RUN apt-get update && apt-get install --yes --no-install-recommends gettext

WORKDIR /opt/app

RUN pip install --user "pipx==$PIPX_VERSION" && \
    pipx install "poetry==$POETRY_VERSION" && \
    poetry config virtualenvs.in-project true

COPY pyproject.toml ./

RUN poetry install --no-root --with dev

RUN mkdir /opt/app/source

CMD ["tail", "-f", "/dev/null"]
